Program analysis and code by Wai - Mee Ching generation in an APL / 370 compiler

نویسنده

  • Wai-Mee Ching
چکیده

We have implemented an APL/370 compiler which accepts a subset of APL that includes most language features and a majority of APL primitive functions. It produces System/370 assembly code directly to be run independently of an interpreter. The compiler does not require variable declarations. Its front end, which is machine-independent, employs extensive typeshape analysis based on a type-shape calculus of the primitive functions and global dataflow analysis. Its back end does storage mapping, code generation for various primitive functions, and register management. For one-line functions, compiled code executes at 2-10 times the speed of the interpreter. On programs with many iterations, the execution time of the compiled code not only is dramatically better than that of interpretation, but is actually fairly close to that of FORTRAN. This removes the performance penalty of APL in computationintensive applications.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiling for Runtime Code Generation

Cyclone is a programming language that provides explicit support for dynamic specialization based on runtime code generation. To generate specialized code quickly, our Cyclone compiler uses a template based strategy in which pre-compiled code fragments are stitched together at runtime. To achieve good performance, the pre-compiled fragments must be optimized. This paper describes a principled a...

متن کامل

A Compiler Design for the Agent-Based Programming Language

In this paper, we introduce a prototype compiler for the Agentbased Programming Language (APL) using the Belief-DesireIntention (BDI) model. The compiler we developed can translate an agent-based program written in APL into the Java byte code, which is executable on the Java Virtual Machine (JVM). This paper proposes a simple syntax for Agent-based Programming Language (APL). APL is designed ba...

متن کامل

Staging & Embedded Domain Specific Languages

Multi-Stage Programming (MSP) is a programming language feature that allows to define high-level abstractions describing generic, hihly-parametrized code, while removing these abstractions at runtime during a succession of code generation phases (called stages): the last stage corresponds to the actual program execution. MSP removes these abstractions in a process akin to partial evaluation and...

متن کامل

APEX -- The APL Parallel Executor

APEX: the APL Parallel Executor Robert Bernecky Master of Science Graduate Department of Computer Science University of Toronto 1997 APEX is an APL-to-SISAL compiler, generating high-performance, portable, parallel code that executes up to several hundred times faster than interpreted APL, with serial performance of kernels competitive with FORTRAN. Preliminary results indicate that acceptable ...

متن کامل

A Succinct Programming Language with a Native Database Component

ELI is a succinct interactive programming language system organized around a few simple principles. Its main data structures include arrays, lists, dictionaries and tables. In addition, it has an integrated database management component which is capable of processing a basic set of SQL statements. ELI, with a compiler, covering the array portion of the language, is also an excellent tool for co...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002